package com.young.lib_fragments.anim

import androidx.annotation.AnimRes
import androidx.annotation.AnimatorRes

/**
 * @author huangzehui
 * @date 2025/1/10 13:45 周五
 * @description fragment 转场动画
 */
interface IFmTransactionAnim {

    /**
     * 获取进入fragment的动画资源id
     *
     *
     */
    @AnimatorRes
    @AnimRes
    fun getEnterAnimResId(): Int

    /**
     * 获取退出fragment的动画资源id
     *
     *
     */
    @AnimatorRes
    @AnimRes
    fun getExitAnimResId(): Int

    /**
     * 获取用fragmentManager引起的fragment重新添加或重新附加的动画资源id
     *
     * 调用 popBackStack() 或类似方法
     *
     *
     */
    @AnimatorRes
    @AnimRes
    fun getPopEnterAnimResId(): Int

    /**
     * 获取用fragmentManager导致的fragment移除或者分离的动画资源id
     *
     * 调用 popBackStack() 或类似方法
     *
     */
    @AnimatorRes
    @AnimRes
    fun getPopExitAnimResId(): Int
}